Target Applications

WonderLeak will profile native user mode 32-bit (x86) or 64-bit (x64) Windows software and will capture native call stacks for all allocations being recorded. WonderLeak does not profile managed code.

Symbol support allows WonderLeak to resolve the call stack entries to their expected symbol names and their expected source file locations. WonderLeak has extensive symbol resolution support for the following symbol formats:

  • Microsoft Program Database (PDB) Symbols
  • Microsoft Source Server
  • DWARF Symbols
  • Turbo Debug Symbols (TDS or TD32)
  • Common Object File Format (COFF) Symbols
  • MAP File Symbols

For the best results you should profile a Debug build of your application where full symbols are available. Optimizations such as Frame Pointer Omission (FPO) should be disabled to allow for complete call stacks to be recorded. Learn how to configure Microsoft Visual Studio, Embarcadero C++ Builder or Embarcadero Delphi.

Profiling Groups

WonderLeak can profile allocations from the following groups:

  • Windows Heap - WonderLeak supports profiling heap allocations from the following families of Windows allocators which are serviced by the Windows heap:
    • Microsoft Visual Studio Common Runtime malloc and new
    • RtlAllocateHeap
    • HeapAlloc
    • LocalAlloc
    • GlobalAlloc
    • CoTaskMemAlloc
    • SysAllocString
    • SafeArrayCreate
  • Windows Handle - WonderLeak supports profiling handle allocations for the following Windows kernel objects:
    • ALPC Port
    • DebugObject
    • Directory
    • Event
    • File
    • IoCompletion
    • Job
    • Key
    • KeyedEvent
    • Mutant
    • Partition
    • Process
    • Profile
    • RegistryTransaction
    • Section
    • Semaphore
    • Session
    • SymbolicLink
    • Thread
    • Timer
    • TmEn (Transaction Manager Enlistment)
    • TmRm (Transaction Manager Resource Manager)
    • TmTm (Transaction Manager)
    • TmTx (Transaction Manager Transaction)
    • Token
    • TpWorkerFactory (Thread Pool Worker Factory)
    • WaitCompletionPacket
  • Windows Critical Section
  • Windows Thread Local Storage
  • Windows Fiber Local Storage
  • Borland Heap - All allocations serviced by the Borland Memory Manager (borlndmm.dll) or Run Time Library (RTL), typically used by applications developed with Delphi or C++ Builder.
  • User Heap/Handle Types (API) - WonderLeak exposes an API to assist in the profiling of custom user heap or handle allocations which are not covered by the above groups.
Copyright © 2021, Relyze Software Limited